From 0a62b2ce6504656b601b077f890215a56fb0dd99 Mon Sep 17 00:00:00 2001
From: soyer <soyer@irl.hu>
Date: Sat, 23 Oct 2021 12:23:50 +0200
Subject: [PATCH] staging/bcm2835-camera: Add support for H264_MIN_QP,
 H264_MAX_QP

Signed-off-by: Gergo Koteles <soyer@irl.hu>
---
 .../bcm2835-camera/bcm2835-camera.h           |  2 +-
 .../vc04_services/bcm2835-camera/controls.c   | 22 +++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
+++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
@@ -13,7 +13,7 @@
  * core driver device
  */
 
-#define V4L2_CTRL_COUNT 29 /* number of v4l controls */
+#define V4L2_CTRL_COUNT 31 /* number of v4l controls */
 
 enum {
 	COMP_CAMERA = 0,
--- a/drivers/staging/vc04_services/bcm2835-camera/controls.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c
@@ -1264,6 +1264,28 @@ static const struct bcm2835_mmal_v4l2_ct
 		.mmal_id = MMAL_PARAMETER_INTRAPERIOD,
 		.setter = ctrl_set_video_encode_param_output,
 	},
+	{
+		.id = V4L2_CID_MPEG_VIDEO_H264_MIN_QP,
+		.type = MMAL_CONTROL_TYPE_STD,
+		.min = 0,
+		.max = 51,
+		.def = 0,
+		.step = 1,
+		.imenu = NULL,
+		.mmal_id = MMAL_PARAMETER_VIDEO_ENCODE_MIN_QUANT,
+		.setter = ctrl_set_video_encode_param_output,
+	},
+	{
+		.id = V4L2_CID_MPEG_VIDEO_H264_MAX_QP,
+		.type = MMAL_CONTROL_TYPE_STD,
+		.min = 0,
+		.max = 51,
+		.def = 0,
+		.step = 1,
+		.imenu = NULL,
+		.mmal_id = MMAL_PARAMETER_VIDEO_ENCODE_MAX_QUANT,
+		.setter = ctrl_set_video_encode_param_output,
+	},
 };
 
 int bcm2835_mmal_set_all_camera_controls(struct bcm2835_mmal_dev *dev)
